class TrainStationPresenter:
    """
    TrainStationPresenter 类用于将列车站点数据对象转换为字典形式，
    方便在不同模块或系统中进行数据传递和展示。
    """
    def __init__(self, data):
        """
        初始化 TrainStationPresenter 实例。

        Args:
            data: 列车站点数据对象，包含站点的相关属性，
                  如索引、车次、站点名称、到达时间等。
        """
        self.data = data

    def as_dict(self):
        """
        将列车站点数据对象转换为字典形式。

        Returns:
            dict: 包含列车站点信息的字典，键有 "index"、"trainNo"、"name"、
                  "arrTime"、"depTime" 和 "price"。
        """
        return {
            # 站点在列车线路中的索引
            "index": self.data.index,
            # 列车车次
            "trainNo": self.data.train_no,
            # 站点名称
            "name": self.data.station_name,
            # 列车到达该站点的时间
            "arrTime": self.data.arrival_time,
            # 列车从该站点出发的时间
            "depTime": self.data.departure_time,
            # 该站点相关的票价
            "price": self.data.price,
        }